﻿using AJWPFAdmin.Core.CommonEntity;
using AJWPFAdmin.Core.Enums;
using AJWPFAdmin.Core.Excel;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AJWPFAdmin.Core.Models.EF.Tables
{
    /// <summary>
    /// 手动开闸出入记录表
    /// </summary>
    [Comment("手动开闸出入记录表")]
    public partial class ManualPassRecord : CommonTableEntity
    {
        /// <summary>
        /// 岗亭id/入口id
        /// </summary>
        [Comment("岗亭/入口id")]
        public long WatchhouseId { get; set; }

        /// <summary>
        /// 岗亭/入口编号
        /// </summary>
        [Comment("岗亭/入口编号")]
        [MaxLength(50)]
        [StringLength(50, ErrorMessage = "{0}超长:{1}")]
        [AJExportField(ColumnName = "入口编号")]
        public string WatchhouseCode { get; set; }

        /// <summary>
        /// 岗亭名称/入口名称
        /// </summary>
        [Comment("岗亭/入口名称")]
        [MaxLength(50)]
        [AJExportField(ColumnName = "入口名称")]
        public string WatchhouseName { get; set; }

        /// <summary>
        /// 通道(道闸)id
        /// </summary>
        [Comment("通道(道闸)id")]
        public long PassagewayId { get; set; }

        /// <summary>
        /// 通道(道闸)编号
        /// </summary>
        [Comment("通道(道闸)编号")]
        [MaxLength(50)]
        [StringLength(50, ErrorMessage = "{0}超长:{1}")]
        [AJExportField(ColumnName = "进口道闸编号")]
        public string PassagewayCode { get; set; }

        /// <summary>
        /// 通道(道闸)名称
        /// </summary>
        [Comment("通道(道闸)名称")]
        [MaxLength(50)]
        [AJExportField(ColumnName = "进口道闸名称")]
        public string PassagewayName { get; set; }

        /// <summary>
        /// 方向
        /// </summary>
        [Comment("方向")]
        public PassagewayDirection Direction { get; set; }

        /// <summary>
        /// 关联设备Id
        /// </summary>
        [Comment("关联设备Id")]
        public long DeviceId { get; set; }

        /// <summary>
        /// 关联设备编号
        /// </summary>
        [Comment("关联设备编号")]
        [MaxLength(50)]
        public string DeviceCode { get; set; }

        /// <summary>
        /// 关联设备名称
        /// </summary>
        [Comment("关联设备名称")]
        [MaxLength(50)]
        public string DeviceName { get; set; }

        /// <summary>
        /// 录像文件存储目录
        /// </summary>
        [Comment("录像文件存储目录")]
        public string VideoStoreDirectory { get; set; }
    }
}
